/** 
 * 
 * Licensed under the MIT License and Apache License version 2.0
 * 
 * Copyright (c) 2011 Jazz Digital (http://www.jazz.etc.br) 
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 * this software and associated documentation files (the "Software"), to deal in
 * the Software without restriction, including without limitation the rights to
 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
 * the Software, and to permit persons to whom the Software is furnished to do so,
 * subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 * 
 * http://www.opensource.org/licenses/mit-license.php
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 * http://code.google.com/p/kinect-jazztures/
 * 
 * @author Valério Oliveira (valck) - http://www.valck.in
 * @author João Marquesini - http://www.markezine.me
 * @author Gabriel Tavares de Souza - http://www.gtsouza.com
 * 
 */
package jazztures.objects {

	import jazztures.geom.Point3D;
	
	/**
	 * 
	 * @internal
	 * The <code>Join</code> class is like a bone with 3D coordinates points.
	 * 
	 */
	internal class Join extends Point3D{
		private var _name : String;
		
		/**
		 * 
		 * The <code>Join</code> class is like a bone with 3D coordinates points.
		 * 
		 * @param p_name The name of the <code>Join</code>
		 * @param p_target The part (<code>Object</code>) of the <code>Skeleton</code>
		 * 
		 */
		public function Join(p_name:String, p_target:Object){
			_name = p_name;

			super(p_target.x, p_target.y, p_target.z, p_target.matrix);
		}
		
		/**
		 * Indicates the name of the <code>Join</code>.
		 * 
		 * @return <code>String</code>
		 * 
		 */
		public function get name():String{
			return _name;
		}
		
		/**
		 * 
		 * Returns a string that contains the values of the x, y, z, rotationX, rotationY and rotationZ coordinates. The string has the form "(name=name, x=x, y=y, z=z, rotationX=rotationX, rotationY=rotationY, rotationZ=rotationZ)".
		 *  
		 * @return <code>String</code>
		 * 
		 */
		override public function toString():String{
			return "(name="+name+", x="+x+", y="+y+", z="+z+", rotationX="+rotationX+", rotationY="+rotationY+", rotationZ="+rotationZ+")";
		}
	}
}